package com.yiyibook.service;

import com.github.pagehelper.PageInfo;
import com.yiyibook.controller.vo.OutOrderVO;
import com.yiyibook.entity.Book;
import com.yiyibook.entity.OrderHead;
import com.yiyibook.util.ResultEntity;

import java.util.List;

/**
 * 〈功能简述〉
 *
 * @author xun.gong@hand-china.com
 * @date 2019/10/15
 */
public interface OrderHeadService {

    /**
     * 功能描述:
     * 〈获取数据库中最后一次订单〉
     * @return OrderHead
     * @author xun.gong@hand-china.com
     * @date 2019/10/15
     */
    OrderHead selectLast();

    /**
     * 功能描述:
     * 〈生成顶单〉
     * @param orderHead 订单头信息
     * @return int
     * @author xun.gong@hand-china.com
     * @date 2019/10/15
     */
    OrderHead insert(OrderHead orderHead);

    /**
     * 功能描述:
     * 〈查询出所有订单的详细信息〉
     * @return List<OrderHead>
     * @author xun.gong@hand-china.com
     * @date 2019/10/21
     */
    List<OrderHead> selectAll();

    /**
     * 功能描述: 
     * 〈〉 
     * @param orderHeadId 订单头ID
     * @return OutOrderVO
     * @author xun.gong@hand-china.com
     * @date 2019/10/22 
     */
    List<OutOrderVO> selectByHeadId(Integer orderHeadId);

    /**
     * 功能描述:
     * 〈根据主键查询信息〉
     * @param orderHeadId 采购订单头
     * @return OrderHead
     * @author xun.gong@hand-china.com
     * @date 2019/10/22
     */
    OrderHead selectById(Integer orderHeadId);

    /**
     * 功能描述:
     * 〈修改订单状态〉
     * @param orderHead 修改后的信息
     * @return int
     * @author xun.gong@hand-china.com
     * @date 2019/10/22
     */
    int updateByCondition(OrderHead orderHead);

    /**
      * 查询订单头 根据 分页信息 以及 查询条件
      * @param pageInfo 分页信息
      * @param orderCondition 查询条件
      * @return com.yiyibook.util.ResultEntity<com.yiyibook.entity.OrderHead> 订单头集合
      * @author yi.wu 2019-11-08 13:40:24
      */
    ResultEntity<OrderHead> selectOrderHeadByCondition(PageInfo pageInfo, OrderHead orderCondition);
}
